import { IPSSysMethodDTOField } from './ipssys-method-dtofield';
import { IPSModelObject } from '../ipsmodel-object';

/**
 *
 * @export
 * @interface IPSSysMethodDTO
 */
export interface IPSSysMethodDTO extends IPSModelObject {
  /**
   * DTO属性集合
   *
   * @type {IPSSysMethodDTOField[]}
   */
  getPSSysMethodDTOFields(): IPSSysMethodDTOField[] | null;

  /**
   * DTO属性集合
   *
   * @type {IPSSysMethodDTOField[]}
   */
  get psSysMethodDTOFields(): IPSSysMethodDTOField[] | null;

  findPSSysMethodDTOField(objKey: any): IPSSysMethodDTOField | null;

  /**
   * 系统方法DTO对象来源类型
   * @description 值模式 [实体方法DTO来源类型] {DE：实体、 DYNAMODEL：动态模型、 DEACTIONINPUT：实体行为参数、 DEFILTER：实体过滤器、 REFDE：引用实体、 DEDATASETINPUT：实体数据集参数 }
   * @type {( string | 'DE' | 'DYNAMODEL' | 'DEACTIONINPUT' | 'DEFILTER' | 'REFDE' | 'DEDATASETINPUT')}
   */
  sourceType: string | 'DE' | 'DYNAMODEL' | 'DEACTIONINPUT' | 'DEFILTER' | 'REFDE' | 'DEDATASETINPUT';

  /**
   * 类型
   * @description 值模式 [实体方法DTO类型] {DEFAULT：实体默认、 DEACTIONINPUT：实体行为自定义参数、 DEFILTER：实体过滤器、 DEDATASETINPUT：实体数据集自定义参数 }
   * @type {( string | 'DEFAULT' | 'DEACTIONINPUT' | 'DEFILTER' | 'DEDATASETINPUT')}
   */
  type: string | 'DEFAULT' | 'DEACTIONINPUT' | 'DEFILTER' | 'DEDATASETINPUT';
}
